	$(document).ready(function() {
		
		$("#papeletaForm").validate({
			rules: {
					fecha_emision: {
						required: true,
						date:true
					},					
					dni:"required",
					nom_trabajador:"required"
					
				},
				messages: {
					fecha_emision: {
						required: ""
					},					
					dni:"",
					nom_trabajador:""
					
				}
		});
		
		 $.mask.masks = $.extend($.mask.masks,{
			'phone'     : { mask : '(99) 9999-9999' },
			'phone-us'  : { mask : '(999) 9999-9999' },
			'cpf'       : { mask : '999.999.999-99' },
			'cnpj'      : { mask : '99.999.999/9999-99' },
			'date'      : { mask : '39/19/9999' }, //uk date
			'date-us'   : { mask : '19/39/9999' },
			'cep'       : { mask : '99999-999' },
			'time'      : { mask : '29:69' ,defaultValue:''},
			'cc'        : { mask : '9999 9999 9999 9999' }, //credit card mask
			'integer'   : { mask : '999999999999', type : 'reverse',defaultValue:'0' },
			'decimal'   : { mask : '99,999.999.999.999', type : 'reverse', defaultValue: '000' },
			'decimales_2'   : { mask : '99.99999999999', type : 'reverse', defaultValue: '000' },
			'decimal-us'    : { mask : '99.999,999,999,999', type : 'reverse', defaultValue: '000' },
			'signed-decimal'    : { mask : '99,999.999.999.999', type : 'reverse', defaultValue : '+000' },
			'signed-decimal-us' : { mask : '99,999.999.999.999', type : 'reverse', defaultValue : '+000' }
			});
		 $('input:text').setMask();
		
		// calendario
		$('input.fecha_papeleta').datepicker();
		$('input.f_inicio_salida').datepicker();
		$('input.f_fin_salida').datepicker();
		$('input.f_inicio_compensa').datepicker();
		$('input.fecha_fin_compensa').datepicker();
		
		/*
		$('input.f_inicio_salida').simpleDatepicker();
		$('input.f_fin_salida').simpleDatepicker();
		$('input.f_inicio_compensa').simpleDatepicker();
		$('input.fecha_fin_compensa').simpleDatepicker();	*/
		// fin calendario		
		//mascaras
		/*
		$("#h_inicio_salida").mask("99:99",{placeholder:" "});
		$("#h_fin_salida").mask("99:99",{placeholder:" "});
		
		$("#h_inicio_trabajo_compensa").mask("99:99",{placeholder:" "});
		$("#h_fin_trab_compensa").mask("99:99",{placeholder:" "});
		$("#h_inicio_com_compensa").mask("99:99",{placeholder:" "});
		$("#h_fin_compen_conpensa").mask("99:99",{placeholder:" "});	
		//fin de mascaras
		*/				
		// botones
		
		
		Utiles_Botones.creaBotonAceptar("btn_guardar",enviarPapeleta);	
		Utiles_Botones.creaBotonLimpiar("btn_limpiar",limpiaFormulario);
		//fin botones
		
		//INVISIBILIDAD DE LOS PANELES
		$("#para_compensacion1").fadeOut("slow");
		$("#para_compensacion2").fadeOut("slow");
		datosObligatoriosTipoPapeleta();
		//
		
		// eventos click
		//$('#add_tool').click(showPedidosAceptados);
		$("#cmb_tipo").change(muestraPanelesTipoPapeleta);	
		// eventos click
		
		// autocompletesbtn_consolida
		autocomplete_trabajadores();
		// fin autocompletes
		
		// eventos key
		$('#nom_trabajador').keyup(limpiaTrabajador);
		$('#dni_trabajador').keyup(buscaTrabajador);
		//$('input').keyup(convierteMayusculas);
	
	
	});
	
	/*function convierteMayusculas(){
		this.value=this.value.toUpperCase();
		//onkeyup="this.value=this.value.toUpperCase()"
	}*/
	function enviarPapeleta(){
			if ($("#papeletaForm").valid()) {
				
				var fecha = $("#fec_emision").val().split("/");
				/*if($("#anio_actual").html()!=fecha[2] || $("#mes_actual").html()!=fecha[1]){
					Utiles_MensajesDialogo.showMensajeAlerta("La fecha de la papeleta debe coincidir con el mes actual: " + $("#anio_actual").html() + " - " + $("#mes_actual").html());
					return;
				}*/
				Utiles_MensajesDialogo.showMensajeConfirmacion("Desea Guardar la papeleta?",function(result){
					if(result=="Si"){
						var fields = $("#papeletaForm").serializeObject();
						
						 $.blockUI({ 
					            centerY: 0, 
					            message: "<h1>Espere un momento!!</h1>",
					            css: { top: '10px', left: '', right: '10px' } 
					        }); 
						
						$.postJSON("guardar_papeleta", fields, function(rpta) {
							$.unblockUI();
							if(rpta.respuesta==""){
								Utiles_MensajesDialogo.showMensajeInfo("Se ha grabo satisfactoriamente la papeleta ");								
								limpiaFormulario();																								 																					
							}
							else
								Utiles_MensajesDialogo.showMensajeError(rpta.respuesta);

						});
					}
					else{
						
					}
				});

			}			
			
	}
	
	function limpiaFormulario(){
		$("#papeletaForm").reset();
		$("#para_salida1").fadeIn("slow");
		$("#para_salida2").fadeIn("slow");
		$("#para_compensacion1").fadeOut("slow");
		$("#para_compensacion2").fadeOut("slow");		
		$("#cmb_tipo").val("SALIDA");

		limpiaDatos();
	}
	
	function limpiaDatos(){
		
	}
	
	function muestraPanelesTipoPapeleta() {
		if ($.trim($("#cmb_tipo option:selected").html())=="SALIDA") {	
			$("#para_salida1").fadeIn("slow");
			$("#para_salida2").fadeIn("slow");
			$("#para_compensacion1").fadeOut("slow");
			$("#para_compensacion2").fadeOut("slow");
		} else {
			$("#para_compensacion1").fadeIn("slow");
			$("#para_compensacion2").fadeIn("slow");
			$("#para_salida1").fadeOut("slow");
			$("#para_salida2").fadeOut("slow");
		}
		datosObligatoriosTipoPapeleta();
		limpiaDatos();
	}
	
	function limpiaTrabajador(e) {
		if (e.keyCode != 13) {
			$('#dni_trabajador').val("");
		}
	}
	function datosObligatoriosTipoPapeleta(){
		if ($.trim($("#cmb_tipo option:selected").html())=="SALIDA"){
			//obligatorios papeleta salida
			$("#f_inicio_salida").addClass("required");
			$("#fecha_fin").addClass("required");
			$("#num_dias").addClass("required");
			$("#h_inicio_salida").addClass("required");
			$("#h_fin_salida").addClass("required");
			$("#horas_trab").addClass("required");
			$("#horas_no_trab").addClass("required");			
			//no obligatorios papeleta compensa
			$("#fecha_trabajada").removeClass("required");
			$("#h_inicio_trabajo_compensa").removeClass("required");
			$("#h_fin_trab_compensa").removeClass("required");
			$("#horas_trab_trabajadas").removeClass("required");
			$("#fecha_compensacion").removeClass("required");
			$("#h_inicio_com_compensa").removeClass("required");
			$("#h_fin_compen_conpensa").removeClass("required");
			$("#horas_compensar").removeClass("required");			
		} else {
			//obligatorios papeleta compensa
			$("#fecha_trabajada").addClass("required");
			$("#h_inicio_trabajo_compensa").addClass("required");
			$("#h_fin_trab_compensa").addClass("required");
			$("#horas_trab_trabajadas").addClass("required");
			$("#fecha_compensacion").addClass("required");
			$("#h_inicio_com_compensa").addClass("required");
			$("#h_fin_compen_conpensa").addClass("required");
			$("#horas_compensar").addClass("required");					
			//no obligatorios papeleta salida
			$("#f_inicio_salida").removeClass("required");	
			$("#fecha_fin").removeClass("required");
			$("#num_dias").removeClass("required");
			$("#h_inicio_salida").removeClass("required");
			$("#h_fin_salida").removeClass("required");
			$("#horas_trab").removeClass("required");
			$("#horas_no_trab").removeClass("required");			
		}
			
	}
	function buscaTrabajador(e) {
		// alert(e.keyCode);
		$('#nom_trabajador').val("");

		if (e.keyCode == 13) {
			this.blur();

			if ($(this).val().length > 0) {
				$.getJSON("getTrabajadorCodigo",
								{
								dni_trabajador : $(this).val()
								},
								function(data) {	
									if (data.apellidos != null) {
										$('#nom_trabajador').focus();
										$('#nom_trabajador').attr("value",
												$.trim(data.apellidos+" "+data.nombres));
									}

									else {
										Utiles_MensajesDialogo.showMensajeAlerta("El trabajador no existe");
										$('#dni_trabajador').val("");
									}

								});
			}

		}
	}
	/*----------autocompletables------------*/
	function autocomplete_trabajadores(){
		$("#nom_trabajador").autocomplete('get_trabajadores', {
			multiple: true,
			dataType: "json",
			parse: function(data) {
				return $.map(data, function(row) {
					return {
						data: row,
						value: row.dni,
						result: row.apellidos+" "+row.nombres
					};
				});
			},
			formatItem: function(item) {
				return "<table cellspacing='0' cellspadding='0' width='100%' border='0'><tr><td width='90%'>"+item.apellidos+" "+item.nombres+"</td><td width='10%'>"+item.dni+"</td></tr></table>";
			}
		}).result(function(e, item) {
				$("#dni_trabajador").val($.trim(item.dni));
				$("#nom_trabajador").val($.trim(item.apellidos+" "+item.nombres));	
		});
	}
	/*----------fin autocompletables------------*/
	
	